.Dd July  2, 2023
.Dt libuna 3
.Os libuna
.Sh NAME
.Nm libuna.h
.Nd Library to support Unicode and ASCII (byte stream) conversions
.Sh SYNOPSIS
.In libuna.h
.Pp
Support functions
.Ft const char *
.Fn libuna_get_version "void"
.Pp
Error functions
.Ft void
.Fn libuna_error_free "libuna_error_t **error"
.Ft int
.Fn libuna_error_fprint "libuna_error_t *error" "FILE *stream"
.Ft int
.Fn libuna_error_sprint "libuna_error_t *error" "char *string" "size_t size"
.Ft int
.Fn libuna_error_backtrace_fprint "libuna_error_t *error" "FILE *stream"
.Ft int
.Fn libuna_error_backtrace_sprint "libuna_error_t *error" "char *string" "size_t size"
.Pp
Unicode character functions
.Ft int
.Fn libuna_unicode_character_size_to_byte_stream "libuna_unicode_character_t unicode_character" "int codepage" "size_t *byte_stream_character_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_byte_stream "libuna_unicode_character_t *unicode_character" "const uint8_t *byte_stream" "size_t byte_stream_size" "size_t *byte_stream_index" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_byte_stream "libuna_unicode_character_t unicode_character" "uint8_t *byte_stream" "size_t byte_stream_size" "size_t *byte_stream_index" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_size_to_ucs2 "libuna_unicode_character_t *unicode_character" "size_t *ucs2_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_ucs2 "libuna_unicode_character_t *unicode_character" "const libuna_utf16_character_t *ucs2_string" "size_t ucs2_string_size" "size_t *ucs2_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_ucs2 "libuna_unicode_character_t unicode_character" "libuna_utf16_character_t *ucs2_string" "size_t ucs2_string_size" "size_t *ucs2_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_size_to_ucs4 "libuna_unicode_character_t *unicode_character" "size_t *ucs4_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_ucs4 "libuna_unicode_character_t *unicode_character" "const libuna_utf32_character_t *ucs4_string" "size_t ucs4_string_size" "size_t *ucs4_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_ucs4 "libuna_unicode_character_t unicode_character" "libuna_utf32_character_t *ucs4_string" "size_t ucs4_string_size" "size_t *ucs4_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf7_stream "libuna_unicode_character_t *unicode_character" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "size_t *utf7_stream_index" "uint32_t *utf7_stream_base64_data" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf7_stream "libuna_unicode_character_t unicode_character" "uint8_t *utf7_stream" "size_t utf7_stream_size" "size_t *utf7_stream_index" "uint32_t *utf7_stream_base64_data" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_size_to_utf8 "libuna_unicode_character_t *unicode_character" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf8 "libuna_unicode_character_t *unicode_character" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf8 "libuna_unicode_character_t unicode_character" "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_size_to_utf8_rfc2279 "libuna_unicode_character_t *unicode_character" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf8_rfc2279 "libuna_unicode_character_t *unicode_character" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf8_rfc2279 "libuna_unicode_character_t unicode_character" "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_size_to_utf16 "libuna_unicode_character_t *unicode_character" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf16 "libuna_unicode_character_t *unicode_character" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf16 "libuna_unicode_character_t unicode_character" "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf16_stream "libuna_unicode_character_t *unicode_character" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "size_t *utf16_stream_index" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf16_stream "libuna_unicode_character_t unicode_character" "uint8_t *utf16_stream" "size_t utf16_stream_size" "size_t *utf16_stream_index" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_size_to_utf32 "libuna_unicode_character_t *unicode_character" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf32 "libuna_unicode_character_t *unicode_character" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf32 "libuna_unicode_character_t unicode_character" "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_from_utf32_stream "libuna_unicode_character_t *unicode_character" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "size_t *utf32_stream_index" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_unicode_character_copy_to_utf32_stream "libuna_unicode_character_t unicode_character" "uint8_t *utf32_stream" "size_t utf32_stream_size" "size_t *utf32_stream_index" "int byte_order" "libuna_error_t **error"
.Pp
Byte stream functions
.Ft int
.Fn libuna_byte_stream_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "int codepage" "size_t *byte_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_byte_stream_copy_from_utf8 "uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_byte_stream_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "int codepage" "size_t *byte_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_byte_stream_copy_from_utf16 "uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_byte_stream_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "int codepage" "size_t *byte_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_byte_stream_copy_from_utf32 "uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Pp
UTF-7 stream functions
.Ft int
.Fn libuna_utf7_stream_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf7_stream_copy_from_utf8 "uint8_t *utf7_stream" "size_t utf7_stream_size" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf7_stream_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf7_stream_copy_from_utf16 "uint8_t *utf7_stream" "size_t utf7_stream_size" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf7_stream_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf7_stream_copy_from_utf32 "uint8_t *utf7_stream" "size_t utf7_stream_size" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Pp
UTF-8 stream functions
.Ft int
.Fn libuna_utf8_stream_copy_byte_order_mark "uint8_t *utf8_stream" "size_t utf8_stream_size" "size_t *utf8_stream_index" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_stream_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_stream_copy_from_utf8 "uint8_t *utf8_stream" "size_t utf8_stream_size" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_stream_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_stream_copy_from_utf16 "uint8_t *utf8_stream" "size_t utf8_stream_size" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_stream_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_stream_copy_from_utf32 "uint8_t *utf8_stream" "size_t utf8_stream_size" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Pp
UTF-8 string functions
.Ft int
.Fn libuna_utf8_string_size_from_byte_stream "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_byte_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_byte_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_byte_stream "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_utf7_stream "const uint8_t *utf7_stream" "size_t utf7_stream_size" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_utf7_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_utf7_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_utf7_stream "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_utf8_stream "const uint8_t *utf8_stream" "size_t utf8_stream_size" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_utf8_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_utf8_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_utf8_stream "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_utf16 "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_utf16 "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_utf16 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_utf16_stream "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_utf16_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_utf16_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_utf16_stream "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_utf32 "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_utf32 "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_utf32 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_utf32_stream "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_utf32_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_utf32_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_compare_with_utf32_stream "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_size_from_scsu_stream "const uint8_t *scsu_stream" "size_t scsu_stream_size" "size_t *utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_copy_from_scsu_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "const uint8_t *scsu_stream" "size_t scsu_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf8_string_with_index_copy_from_scsu_stream "libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf8_string_index" "const uint8_t *scsu_stream" "size_t scsu_stream_size" "libuna_error_t **error"
.Pp
UTF-16 stream functions
.Ft int
.Fn libuna_utf16_stream_copy_byte_order_mark "uint8_t *utf16_stream" "size_t utf16_stream_size" "size_t *utf16_stream_index" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_stream_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf16_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_stream_copy_from_utf8 "uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_stream_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_stream_copy_from_utf16 "uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_stream_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf16_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_stream_copy_from_utf32 "uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Pp
UTF-16 string functions
.Ft int
.Fn libuna_utf16_string_size_from_byte_stream "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_byte_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_byte_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_compare_with_byte_stream "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_utf7_stream "const uint8_t *utf7_stream" "size_t utf7_stream_size" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_utf7_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_utf7_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_compare_with_utf7_stream "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_utf8 "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_utf8 "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_utf8_stream "const uint8_t *utf8_stream" "size_t utf8_stream_size" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_utf8_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_utf8_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_compare_with_utf8_stream "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_utf16_stream "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_utf16_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_utf16_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_compare_with_utf16_stream "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_utf32 "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_utf32 "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_compare_with_utf32 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_utf32_stream "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_utf32_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_utf32_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_compare_with_utf32_stream "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_size_from_scsu_stream "const uint8_t *scsu_stream" "size_t scsu_stream_size" "size_t *utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_copy_from_scsu_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "const uint8_t *scsu_stream" "size_t scsu_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf16_string_with_index_copy_from_scsu_stream "libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf16_string_index" "const uint8_t *scsu_stream" "size_t scsu_stream_size" "libuna_error_t **error"
.Pp
UTF-32 stream functions
.Ft int
.Fn libuna_utf32_stream_copy_byte_order_mark "uint8_t *utf32_stream" "size_t utf32_stream_size" "size_t *utf32_stream_index" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_stream_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf32_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_stream_copy_from_utf8 "uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_stream_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf32_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_stream_copy_from_utf16 "uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_stream_size_from_utf32 "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_stream_copy_from_utf32 "uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "libuna_error_t **error"
.Pp
UTF-32 string functions
.Ft int
.Fn libuna_utf32_string_size_from_byte_stream "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_byte_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_byte_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_compare_with_byte_stream "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "int codepage" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_utf7_stream "const uint8_t *utf7_stream" "size_t utf7_stream_size" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_utf7_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_utf7_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_compare_with_utf7_stream "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf7_stream" "size_t utf7_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_utf8 "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_utf8 "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_utf8 "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const libuna_utf8_character_t *utf8_string" "size_t utf8_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_utf8_stream "const uint8_t *utf8_stream" "size_t utf8_stream_size" "size_t *utf32_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_utf8_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_utf8_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_compare_with_utf8_stream "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf8_stream" "size_t utf8_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_utf16 "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_utf16 "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_utf16 "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const libuna_utf16_character_t *utf16_string" "size_t utf16_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_utf16_stream "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_utf16_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_utf16_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_compare_with_utf16_stream "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf16_stream" "size_t utf16_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_utf32_stream "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_utf32_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_utf32_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_compare_with_utf32_stream "const libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *utf32_stream" "size_t utf32_stream_size" "int byte_order" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_size_from_scsu_stream "const uint8_t *scsu_stream" "size_t scsu_stream_size" "size_t *utf32_string_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_copy_from_scsu_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "const uint8_t *scsu_stream" "size_t scsu_stream_size" "libuna_error_t **error"
.Ft int
.Fn libuna_utf32_string_with_index_copy_from_scsu_stream "libuna_utf32_character_t *utf32_string" "size_t utf32_string_size" "size_t *utf32_string_index" "const uint8_t *scsu_stream" "size_t scsu_stream_size" "libuna_error_t **error"
.Pp
Base16 stream functions
.Ft int
.Fn libuna_base16_stream_size_to_byte_stream "const uint8_t *base16_stream" "size_t base16_stream_size" "size_t *byte_stream_size" "uint32_t base16_variant" "uint8_t flags" "libuna_error_t **error"
.Ft int
.Fn libuna_base16_stream_copy_to_byte_stream "const uint8_t *base16_stream" "size_t base16_stream_size" "uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base16_variant" "uint8_t flags" "libuna_error_t **error"
.Ft int
.Fn libuna_base16_stream_size_from_byte_stream "const uint8_t *byte_stream" "size_t byte_stream_size" "size_t *base16_stream_size" "uint32_t base16_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base16_stream_copy_from_byte_stream "uint8_t *base16_stream" "size_t base16_stream_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base16_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base16_stream_with_index_copy_from_byte_stream "uint8_t *base16_stream" "size_t base16_stream_size" "size_t *base16_stream_index" "const uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base16_variant" "libuna_error_t **error"
.Pp
Base32 stream functions
.Ft int
.Fn libuna_base32_quintuplet_copy_from_base32_stream "uint64_t *base32_quintuplet" "const uint8_t *base32_stream" "size_t base32_stream_size" "size_t *base32_stream_index" "uint8_t *padding_size" "uint32_t base32_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_quintuplet_copy_to_base32_stream "uint64_t base32_quintuplet" "uint8_t *base32_stream" "size_t base32_stream_size" "size_t *base32_stream_index" "uint8_t padding_size" "uint32_t base32_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_quintuplet_copy_from_byte_stream "uint64_t *base32_quintuplet" "const uint8_t *byte_stream" "size_t byte_stream_size" "size_t *byte_stream_index" "uint8_t *padding_size" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_quintuplet_copy_to_byte_stream "uint64_t base32_quintuplet" "uint8_t *byte_stream" "size_t byte_stream_size" "size_t *byte_stream_index" "uint8_t padding_size" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_stream_size_to_byte_stream "const uint8_t *base32_stream" "size_t base32_stream_size" "size_t *byte_stream_size" "uint32_t base32_variant" "uint8_t flags" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_stream_copy_to_byte_stream "const uint8_t *base32_stream" "size_t base32_stream_size" "uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base32_variant" "uint8_t flags" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_stream_size_from_byte_stream "const uint8_t *byte_stream" "size_t byte_stream_size" "size_t *base32_stream_size" "uint32_t base32_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_stream_copy_from_byte_stream "uint8_t *base32_stream" "size_t base32_stream_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base32_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base32_stream_with_index_copy_from_byte_stream "uint8_t *base32_stream" "size_t base32_stream_size" "size_t *base32_stream_index" "const uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base32_variant" "libuna_error_t **error"
.Pp
Base64 stream functions
.Ft int
.Fn libuna_base64_triplet_copy_from_base64_stream "uint32_t *base64_triplet" "const uint8_t *base64_stream" "size_t base64_stream_size" "size_t *base64_stream_index" "uint8_t *padding_size" "uint32_t base64_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_triplet_copy_to_base64_stream "uint32_t base64_triplet" "uint8_t *base64_stream" "size_t base64_stream_size" "size_t *base64_stream_index" "uint8_t padding_size" "uint32_t base64_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_triplet_copy_from_byte_stream "uint32_t *base64_triplet" "const uint8_t *byte_stream" "size_t byte_stream_size" "size_t *byte_stream_index" "uint8_t *padding_size" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_triplet_copy_to_byte_stream "uint32_t base64_triplet" "uint8_t *byte_stream" "size_t byte_stream_size" "size_t *byte_stream_index" "uint8_t padding_size" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_stream_size_to_byte_stream "const uint8_t *base64_stream" "size_t base64_stream_size" "size_t *byte_stream_size" "uint32_t base64_variant" "uint8_t flags" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_stream_copy_to_byte_stream "const uint8_t *base64_stream" "size_t base64_stream_size" "uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base64_variant" "uint8_t flags" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_stream_size_from_byte_stream "const uint8_t *byte_stream" "size_t byte_stream_size" "size_t *base64_stream_size" "uint32_t base64_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_stream_copy_from_byte_stream "uint8_t *base64_stream" "size_t base64_stream_size" "const uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base64_variant" "libuna_error_t **error"
.Ft int
.Fn libuna_base64_stream_with_index_copy_from_byte_stream "uint8_t *base64_stream" "size_t base64_stream_size" "size_t *base64_stream_index" "const uint8_t *byte_stream" "size_t byte_stream_size" "uint32_t base64_variant" "libuna_error_t **error"
.Sh DESCRIPTION
The
.Fn libuna_get_version
function is used to retrieve the library version.
.Sh RETURN VALUES
Most of the functions return NULL or \-1 on error, dependent on the return type.
For the actual return values see "libuna.h".
.Sh ENVIRONMENT
None
.Sh FILES
None
.Sh BUGS
Please report bugs of any kind on the project issue tracker: https://github.com/libyal/libuna/issues
.Sh AUTHOR
These man pages are generated from "libuna.h".
.Sh COPYRIGHT
Copyright (C) 2008-2024, Joachim Metz <joachim.metz@gmail.com>.
.sp
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.Sh SEE ALSO
the libuna.h include file
